#include "TileTag.hpp"

// template <int TILETAGDIM, int TASKDIM>
// size_t cnc_tag_hash_compare< TileTag<TILETAGDIM, TASKDIM> >::hash
// (const TileTag<TILETAGDIM, TASKDIM>& tt) const
// {
//   size_t res=0;
//   for (int i=0; i<TASKDIM; ++i) os << t[i] << ",";
//   return ( (tt[0]) << 19 ) + ( tt[1] << 7 ) + tt[2];
// }

// template <int TILETAGDIM, int TASKDIM>
// constexpr bool cnc_tag_hash_compare< TileTag >::equal
// (const TileTag<TILETAGDIM, TASKDIM>& a, const TileTag<TILETAGDIM, TASKDIM>& b) const
// {
//   return a == b;
// }

// template <int TILETAGDIM, int TASKDIM>
// std::ostream & cnc_format( std::ostream& os, const TileTag<TILETAGDIM, TASKDIM> & t )
// {
//   os << "(";
//   for (int i=0; i<TASKDIM; ++i) os << t[i] << ",";
//   os << ")";
//   return os;
// }

ostream& operator<<(ostream& stream, TileTag<TILETAGDIMMACRO, INTERTASKDIMMACRO> const &tt) {  
  for (int64_t i=0; i<TILETAGDIMMACRO; ++i)
    stream << tt[i] << " ";  
  return stream;
}
